package com.imc.platform.base.category.service;

import com.github.pagehelper.PageInfo;
import com.imc.platform.base.category.pojo.Category;
import com.imc.platform.base.menu.pojo.Menu;
import com.imc.platform.base.role.pojo.Role;
import com.imc.platform.base.user.pojo.User;

import java.util.List;
import java.util.Map;

/*
* 类描述：分类管理接口
* 开发者：YT
* 创建日期：2018/9/14 13:53
*/
public interface ICategoryService {
    /*
    * YT  2018/9/14 13:53
    * 方法描述：查询分类列表
    */
    PageInfo<Category> queryCategoryList(int pageNum, int pageSize, String qryCategoryName, String qryCategoryType);

    /*
    * YT  2018/10/27 22:10
    * 方法描述：通过类型和类型名称查询分类信息
    */
    PageInfo<Category> queryCategoryByTypeOrTypeName(int pageNumber,int pageSize,String qryCategoryName,String qryCategoryType);

    /*
    * YT  2018/10/27 22:10
    * 方法描述：通过ID查询分类信息
    */
    Category queryCategoryById(String categoryId);

    /*
    * YT  2018/10/27 22:11
    * 方法描述：查询所有的分类信息
    */
    List<Map> queryCategoryAll(String cateType,String categoryId);
    /*
    * YT  2018/9/14 15:55
    * 方法描述：改变分类可用状态
    */
    int updateState(String state, String categoryId);

    /*
     * YT  2018/9/14 15:58
     * 方法描述：增加分类
     */
    int addCategory(Category bi);

    /*
     * YT  2018/9/14 15:58
     * 方法描述：分类判重
     */
    List<Category> queryCategoryExists(Map <String, String> categoryMap);

    /*
    * YT  2018/9/14 15:55
    * 方法描述：删除分类
    */
    int delCategory(String categoryId);

    /*
    * YT  2018/9/14 16:00
    * 方法描述：修改分类
    */
    int updateCategoryIcon(Category bi);

    int updateCategory(Map <String, String> categoryMap);

    /*
    * YT  2018/10/27 22:11
    * 方法描述：根据角色ID和菜单ID查询菜单信息
    */
    List<Menu> queryMenuByRoleIdAndMenuId(String roleId,String menuId);

}
